create or replace type body my_base_obj is
 constructor function  my_base_obj return self as result
 is 
   persion my_base_obj:= my_base_obj(0);
 begin
  self :=persion;
  return;
 end my_base_obj; 
 constructor function my_base_obj(my_row_num number) return self as result
 is 
 begin
   self.my_row_num := my_row_num;
   return;
 end my_base_obj;
 member function to_string return varchar2 is
 begin 
   return 'my_row_num=' || self.my_row_num ;
 end to_string;
end;